package gui.managedbeans;


import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.context.FacesContext;

import Basicas.Usuario;
import Exception.ErroLogarException;
import Exception.ErroLoginInativoException;
import Fachada.Fachada;

@ManagedBean
@ViewScoped
public class BeanLogin {
	
	public BeanLogin() {
		super();
		usuarioLogado = new Usuario();
	}
	
	private String login;
	private String senha;
	private Usuario usuarioLogado;
	
	public String getLogin() {
		return login;
	}
	public void setLogin(String login) {
		this.login = login;
	}
	public String getSenha() {
		return senha;
	}
	public void setSenha(String senha) {
		this.senha = senha;
	}
	public Usuario getUsuarioLogado() {
		return usuarioLogado;
	}
	public void setUsuarioLogado(Usuario usuarioLogado) {
		this.usuarioLogado = usuarioLogado;
	}
	public void limpar(){
		
		usuarioLogado = new Usuario();
		
	}
	
		
	public String logar(){
		
	    try {
			this.usuarioLogado = Fachada.getFachada().efetuarLogin(login, senha);
			
			FacesContext.getCurrentInstance().addMessage("messages", new FacesMessage(FacesMessage.SEVERITY_INFO,"","Bem vindo "+ usuarioLogado.getNome()));
			
			return "principal.xhtml?faces-redirect=true";
		} catch (ErroLogarException e) {

			limpar();
			FacesContext.getCurrentInstance().addMessage("messages", new FacesMessage(FacesMessage.SEVERITY_ERROR,"",e.getMessage()));
			e.printStackTrace();
		} catch (ErroLoginInativoException e) {
			limpar();
			FacesContext.getCurrentInstance().addMessage("messages", new FacesMessage(FacesMessage.SEVERITY_ERROR,"",e.getMessage()));
			e.printStackTrace();
		}

	    return null;

	}
	public String voltar(){
		limpar();
		return "/index/index.xhtml?faces-redirect=true";
	}
	

}
